package com.bwie.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @Author: Mikey
 * @Date:  2025/9/9 11:46
 * @Description: 
 **/

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_shop")
public class Shop implements Serializable {
    /**
     * 店铺Id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 店铺名称
     */
    @TableField(value = "shop_name")
    @NotBlank(message = "店铺名称不能为空")
    private String shopName;

    /**
     * 店铺负责人id
     */
    @TableField(value = "user_id")
    @NotNull(message = "负责人不能为空")
    private Integer userId;

    /**
     * 店铺录入时间
     */
    @TableField(value = "shop_entry_time")
    @NotNull(message = "店铺录入时间不能为空")
    private Date shopEntryTime;

    /**
     * 店铺合同开始时间
     */
    @TableField(value = "shop_contract_start_time")
    @NotNull(message = "店铺合同开始时间不能为空")
    private Date shopContractStartTime;

    /**
     * 店铺合同终止时间
     */
    @TableField(value = "shop_contract_end_time")
    @NotNull(message = "店铺合同终止时间不能为空")
    private Date shopContractEndTime;

    /**
     * 店铺简介
     */
    @TableField(value = "shop_remarks")
    @NotBlank(message = "店铺简介不能为空")
    private String shopRemarks;

    /**
     * 店铺状态 0正常 1续约 2续约待审核
     */
    @TableField(value = "shop_status")
    private Integer shopStatus;


    /**
     * 保障金 0未交 1已交 （200元）
     */
    @TableField(value = "security_money")
    @NotNull(message = "保障金必须提交!")
    private Integer securityMoney;

    @TableField(exist = false)
    private String username;

    @TableField(exist = false)
    private int contractCount;

    private static final long serialVersionUID = 1L;
}